package com.zf.powerjob.worker.wf_script;

import org.springframework.stereotype.Component;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;

import java.util.Map;

/**
 * 在工作流节点中项工作流的上下文追加参数
 */
@Component
public class WorkflowAppendParamProcessor implements BasicProcessor {

    @Override
    public ProcessResult process(TaskContext context) throws Exception {
        // 工作流的上下文内容
        Map<String, String> data = context.getWorkflowContext().getData();

        // 通过这个MAP项工作流的上下文追加参数
        Map<String, String> appendedContextData = context.getWorkflowContext().getAppendedContextData();
        appendedContextData.put("isRunnableWeek", "false");

        // 在PowerJob的工作流的判断节点中，可以编写groovy脚本，所有的上下文参数都被封装到一个context变量中，类型是 Map<String,String> ，可以通过如下方式获取参数
        // var isRunnableWeek = Boolean.parseBoolean(context['isRunnableWeek'])

        return new ProcessResult(true);
    }
}
